package com.iweb.util;

import lombok.Data;

import java.util.List;

/**
 * @author jay
 * @date 2021/9/7
 * @description
 */
@Data
public class Pager<T> {

    // 每页显示n条记录
    private Integer pageSize = 5;
    // 当前页码
    private Integer pageIndex = 1;
    // 合计有多少页
    private Integer totalPages;
    // 当前数据合计总条数
    private Integer totalRows;
    // 计算分页起始位置
    private Integer offset;
    // 保存分页后的数据
    private List<T> list;
    // 保存查询参数
    private T params;

    public Integer getOffset() {
        this.offset = (pageIndex - 1) * pageSize;
        return this.offset;
    }

    /**
     * 计算总页数
     *
     * @return
     */
    public Integer getTotalPages() {
        if (this.totalRows != null) {
            this.totalPages =
                    this.totalRows % this.pageSize == 0 ? this.totalRows / this.pageSize : this.totalRows / this.pageSize + 1;
            return totalPages;
        }
        return null;
    }
}
